Almost every facet of operations in telecommunication networks and other complex processing systems involves the collection, processing and transport of data. Oftentimes, for reasons of bandwidth, security, etc., data is encoded or otherwise encapsulated for transport between networked nodes. Consequently, a significant computational burden arises in such systems, driven by repeated, ongoing need for generating, processing, coding and decoding data.
The burden is especially acute in certain example contexts, such as in the area of “data mediation” within a mediation system in a telecommunication network. Network data is the enabling ingredient for all revenue assurance operations for any network operator, and it must be complete and correct for the network operator to enforce policies, generate charging and billing information, and to undertake any among a broad range of other actions, such as market analyses, service assurance, network planning, etc.
In the telecommunication network context, a mediation system collects, formats and distributes data within the network, for use in range of activities, including charging and billing, fraud detection and statistical analyses. The typical mediation system interfaces with various types of nodes, including access and core network nodes, e.g., for securing Charging Data Records, CDRs, associated with chargeable telecommunication events occurring within the network. Correspondingly, the mediation system provides such data, or aggregated or modified collections of such data, to various Operations Support System, OSS, servers. OSS servers perform “back-office” activities, such as maintenance and provisioning support for communication services. The same or other mediated data is also provided to various Business Support Systems, BSS, servers. BSS servers generally provide subscriber-facing services, such as billing and order management functions.
In a particular example, the mediation system collects data from various “south bound” interfaces that face the core and/or access networks. The mediation system applies various processing to the collected data, such as consolidation, co-relation or correlation, enrichment, etc., and the processed data is sent out on one or more “north bound” interfaces that face various BSS and OSS servers.
In many of the scenarios, the data incoming to the mediation system is encoded in TLV format where TLV exists for Type, Length and Value. Protocols such as ASN.1, Diameter, Radius, Mobile ad hoc Network, MANET, etc., all support data that are represented in the TLV format. TLV-encoded data requires decoding before processing. TLV decoding provides an object-based representation for easier manipulation to the “users” of that data. Here, the term “users” has a specialized meaning, as it denotes a process or function that takes in certain data for processing. Frequently, after such processing, the resulting data must be re-encoded according to the applicable specifications, for delivery to a further node or user, e.g., for further manipulation or archiving.
Often the involved data records involve a multiplicity of individual data fields or items. See, for example, the following two documents which provide relevant specifications for the representation of CDRs in networks based on the following Third Generation Partnership Project, 3GPP, specifications: 3GPP TS 32.297: Charging Data Record (CDR) file format and transfer, v12.2.0; and 3GPP TS 32.298: Charging Data Record (CDR) parameter description. Significant computational loading and processing time is consumed in association with receiving complex, encoded data structures, decoding them, processing selected data items from among the decoded data, and then re-encoding the data for transport to a further node or process.
It is thought that the typical mediation system may spend as much as forty to fifty percent of its time performing data decoding and encoding, and there have been attempts to address at least certain aspects of that processing overhead. See, for example, U.S. Pat. No. 8,819,135 to Karlsson, which uses a form of selective parsing to improve efficiencies when processing data streams incoming from a data communication network. U.S. Pat. No. 8,526,618 to Little provides another known example of processing encoded messages at a receiver. And, in a slightly different context, one might usefully refer to the widely available references for the XML-document parsing algorithm known as “SAX” or “Simple API for XML”.